//入口函数
$(function () {
    //1.为注册超链接添加点击事件-----------------------------------
    $('#link_reg').on('click', function () {
        //隐藏登录div，显示注册div
        $('.login-box').hide();
        $('.reg-box').show();
    })
    //2.为登录超链接添加点击事件-----------------------------------
    $('#link_login').on('click', function () {
        //隐藏注册div，显示登录div
        $('.login-box').show();
        $('.reg-box').hide();
    })
    //3.为layui.form表单组件添加自定义规则------------------------
    layui.form.verify({
        //密码校验规则
        pwd: [
            /^[\S]{6,12}$/, '密码必须为6到12位，且不能出现空格'
        ],
        //确认密码规则
        repwd: function (value) {
            //获取密码框的文本
            let strPWD = $('.reg-box [name=password]').val().trim();
            //对比两次密码是否相同
            if (strPWD !== value) {
                //如果不相同，就返回错误消息
                return '两次密码输入不一致';
            }
        }
    })
    //4.为注册表单添加提交事件----------------------------------
    $('#form_reg').on('submit', function (e) {
        //a.阻止默认提交行为
        e.preventDefault();
        //b.获取表单数据
        const formData = {
            username: $('#form_reg input[name=username]').val().trim(),
            password: $('#form_reg input[name=password]').val().trim()
        }
        //c.异步提交数据到接口
        $.ajax({
            method: 'post',
            url: '/api/reguser',
            data: formData,
            success: (res) => {
                //如果注册失败，则停止执行，并提示信息
                if (res.status !== 0) {
                    return layui.layer.msg(res.message);
                }
                //如果注册成功，提示成功，并切换到登录界面
                layui.layer.msg('注册成功，马上进入登录界面', {
                    icon: -1, //灰色提示层
                    time: 1000 //1秒关闭（默认是3秒）
                }, () => {
                    //触发登录超链接的点击事件，代替click
                    $('#link_login').trigger('click');
                    //清空注册表单数据
                    //this是拿的表单提交事件中的this,也就是事件源表单dom对象
                    this.reset();
                })
            }
        })
    })
    //5.为登录表单添加提交事件--------------------------------------
    $('#form_login').on('submit', function (e) {
        //a.阻止默认提交行为
        e.preventDefault();
        //b.获取表单数据
        const formData = {
            username: $('#form_login input[name=username]').val().trim(),
            password: $('#form_login input[name=password]').val().trim()
        }
        //c.异步提交数据到接口
        $.ajax({
            method: 'post',
            url: '/api/login',
            data: formData,
            success: (res) => {
                //c1.如果登录失败，则停止执行，并提示消息
                if (res.status !== 0) {
                    return layui.layer.msg(res.message);
                }
                //c2.如果注册成功，提示成功，并切换到登录界面
                layui.layer.msg('登录成功，马上进入登录界面',{
                    icon: -1, //灰色提示层
                    time: 1000 //1秒关闭（默认是3秒）
                },() => {
                    //c3将服务器返回的token值保存到本地
                    localStorage.setItem('token',res.token);
                    //c4跳转到首页
                    window.location.href = '/index.html';
                    this.reset();
                })
            }
        })
    })
})